import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Write a description of class Meteorito here.
 * 
 * @author (Fco Fernando Gosch Acosta) 
 * @version (1.0)
 */
public class Meteorito extends Actor
{
    protected int velocidad;
    protected int angulo;
    protected int vida;
    protected int puntos;
    
    
    /**
     * Constructor para Meteorito recibe 2 parametros 
     *
     * @param unaVelocidad parametro que se le asignara a la velocidad
     * @param unAngulo parametro que se le asignara al angulo
     */
    public Meteorito( int unaVelocidad, int unAngulo, int unaVida)
    {
        velocidad = unaVelocidad;
        angulo = unAngulo;
        vida = unaVida;
        iniciaDireccion(angulo);
        puntos = 10;
    }
    
    /**
     * Metodo reciveDanio para que el meteorito sufra daño
     *
     * @param unDanio es el daño para restarselo a la vida del meteorito
     */
    public void reciveDanio(int unDanio)
    {
        vida = vida - unDanio;
    }
    
    
    /*
     *  Inicia la direccion de meteorito a ciertos grados 
    */
    public void iniciaDireccion(int unaDireccion)
    {
        setRotation(unaDireccion);
    }
    
    /**
     * Gira ciertos grados a la derecha al  mismo sentido que las manecillas del reloj
     */
    public void gira(int unAngulo)
    {
        setRotation(getRotation() + unAngulo);
    }
    

    /**
     * Mueve una velocidad determinada en el mismo sentido al cual se dirige
     */
    public void mueve()
    {
        move(velocidad);
    }
    
    /**
     * Checa si esta al borde del mundo 
     * 
     * @return regresa true si esta al borde y false si no lo esta
     */
    public boolean alBorde()
    {
        if(getX() < 150 || getX() > getWorld().getWidth() - 10)
            return true;
        if(getY() < 10 || getY() > getWorld().getHeight() - 10)
            return true;
        else
            return false;
    }
}
